The present invention relates generally to relational databases, and more particularly, to transforming one or more tables of an existing database using an existing application program into a different format for use with a different application program using the remaining tables of the existing database and the transformed tables which together form a new database.
There are many existing data warehouses in use. One or more existing applications access the data in the existing data warehouse and provide useful information to a user. However, new applications have more functionality than older existing applications. The new application often requires the data in the data warehouse to be in a different or added format. Disadvantageously, there are costs in transforming the data into the different format for use by the new application. This may dissuade the user from purchasing the new application because of the difficulty in estimating the costs involved and there may be recoding required of the existing application/scripts. Thus, for both the existing and new application to function properly, there must be heterogeneous data for the existing application and in a second format for the new application.
Numerous issued patents attempt to deal with heterogeneous data as summarized below.
An application toolkit called Kitchen Sync, available from Scribe Software Corporation, allows the integration of data into multiple applications without custom programming. The toolkit allows communication with applications using external interfaces of the applications.
U.S. Pat. No. 5,819,264 discloses a method of performing a navigated associative search on a set of heterogeneous databases. The method includes first converting the databases to a schema-free structure. Once all of the databases are converted to schema-free structure, the databases are combined into a single database which is then normalized. The normalized database is then searched, and answers are displayed to a user.
U.S. Pat. No. 5,566,332 describes a method for dissimilar relational databases to be mutually understood and preserved with minimized need for data conversions. The method utilizes layers of descriptive information which isolate machine characteristics, levels of support software, and user data descriptions. Any data conversions that become necessary are done only by the receiving computer.
U.S. Pat. No. 5,493,671 describes a method and apparatus for conversion of database data into a different format on a field by field basis using a table of conversion procedures. The apparatus and method allow the sharing of data by computer systems running different versions of a given software package. The method and apparatus also provide for information stored in a first database to be translated and then stored in a second database.
U.S. Pat. No. 5,278,978 discloses a system in which data is exchanged between dissimilar relational database management systems can be mutually understood and preserved. The disclosed method utilizes layers of descriptive information which isolate machine characteristics, levels of support software, and user data descriptions.
U.S. Pat. No. 5,408,652 discloses a method and apparatus for heterogeneous database access by generating different access procedures for different database data structures. The apparatus contains a library of database types and database profiles of each database type. The apparatus queries the database to determine a database type for the database and then can access the database based on the database profile stored in the library of database types.
U.S. Pat. No. 5,768,577 discloses a method for performance optimization in a heterogeneous, distributed database environment. The method utilizes block fetch operations and positioned update operations. These operations allow a first database to be read, re-formatted, and placed into a second database.
U.S. Pat. No. 5,873,088 describes a derived database processing system enabling one program to access a plurality of databases. The system comprises a dictionary, a derived database registering unit, a dictionary information manipulating means, and a database processing procedure generating unit.
Yet, none of the previously mentioned references can reuse an existing data warehouse using older applications concurrently with new more highly functional applications.
Thus, a need still exists for a technique and a tool to allow a combination of existing customer databases having a first physical data model with segments of a second physical data model in order to allow the customer to use all the functions associated with a first data warehouse using the existing customer database while allowing new and more highly functional applications to work without change to the code of the first application.
It is, therefore, an object of the present invention to use an existing data warehouse while enabling new applications with greater functionality to execute on data stored in the existing data warehouse.
It is another object of the present invention to transform a portion of the data stored in an existing data warehouse into a second database structure for use a second application program.
It is yet a further object of the present invention to reduce the amount of storage space required to convert all of the data stored in an existing data warehouse into a second data warehouse.
It is yet another object of the present invention to establish a set of transformation classes to characterize a set of structural and labeling differences between two different physical data models.
The present invention provides a technique and tools to allow combination of existing customer databases, based upon their physical data model, with segments of a different new desired physical data model, in order to allow the customer to continue to use all functions associated with their data warehouse, including an existing applications, while enabling new and different applications to work with no change to the code of the existing application.
The present invention is directed to a method and apparatus which provides a technique and tools to allow a combination of existing customer databases to be used by transforming a portion of the data in the existing data warehouses into a second data structure. Advantageously, greater functionality can be achieved by using new application programs while existing application programs can continue to be used without changes to code of the existing applications.
These and other objects of the present invention are achieved by a method of using a first database structure and a first application program by transforming a portion of data in the first database structure into a second database structure for use by a second application program. A set of classes is established for the second database structure. A list is created which relates the set of classes between the first database structure and the second database structure. A selected portion of the data is moved and transformed from the first database structure to the second database structure such that the second application program can use the remaining untransformed data in the remaining untransformed first database structure and the transformed data in the second database structure.
The foregoing and other objects of the present invention are achieved by a method of using a first database structure and a first application program by transforming a portion of data in the first database structure into a second database structure in a second database for use by a second application program. A set of classes is established for the second database structure. A list is created which relates the set of classes between the first database structure and the second database structure. Data from a data source is moved and transformed to the second database structure such that the second application program can use the data in the first database structure and the data in the second database structure
The foregoing and other objects of the present invention are achieved by a computer architecture using a first database structure and a first application program by transforming a portion of data in the first database structure into a second database structure in a second database for use by a second application program. Establishing means are provided for establishing a set of classes for the second database structure. Creating means are provided for creating a list which relates the set of classes between the first database structure and the second database structure. Moving and transforming means are provided for moving and transforming a selected portion of the data from the first database structure to the second database structure such that the second application program can use the remaining untransformed data in the first database structure and the transformed data in the second database structure.
The foregoing and other objects of the present invention are achieved by an article using a first database structure and a first application program by transforming a portion of data in the first database structure into a second database structure in a second database for use by a second application program. At least one sequence of machine executable instructions is provided on a medium bearing the executable instructions in machine form, wherein execution of the instructions by one or more processors causes the one or more processors to establish a set of classes for the second database structure, create a list which relates the set of classes between the first database structure and the second database structure, and move and transform a selected portion of the data from the first database structure to the second database structure such that the second application program can use the remaining untransformed data in the first database structure and the transformed data in the second database structure.
The foregoing and other objects of the present invention are achieved by a computer system including a processor and a memory coupled to the processor, the memory having stored therein sequences of instructions, which, when executed by said processor, causes the processor to perform the steps of establishing a set of classes for the second database structure, creating a list which relates the set of classes between the first database structure and the second database structure, and moving and transforming a selected portion of the data from the first database structure to the second database structure such that the second application program can use the remaining untransformed data in the first database structure and the transformed data in the second database structure.
Still other objects and advantages of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein the preferred embodiments of the invention are shown and described, simply by way of illustration of the best mode contemplated of carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the invention. Accordingly, the drawings and description thereof are to be regarded as illustrative in nature, and not as restrictive.